Structure de données Series
Une Series est un tableau unidimensionnel doté d'un Index. Les valeurs ont un type ;
les étiquettes les identifient et les alignent. Cet alignement constitue la différence essentielle
avec une liste Python ou un tableau NumPy ordinaire.
import pandas as pd
scores = pd.Series(
[91, 84, pd.NA],
index=["Ada", "Lin", "Sam"],
name="score",
dtype="Int64",
)
Modèle mental
scores.arrayconserve les données dans un tableau d'extension pandas lorsque cela s'applique.scores.indexcontient les étiquettes, qui ne sont pas nécessairement des entiers consécutifs.scores.namedevient souvent le nom d'une colonne lors des opérations tabulaires.scores.dtyperégit la représentation et le comportement des valeurs manquantes.
Ne mémorisez pas les types inférés : ils peuvent dépendre des entrées et de la version de pandas. Précisez le type aux frontières lorsque chaînes, entiers nullables, booléens ou dates doivent avoir une représentation donnée.
Construction et alignement
Construisez à partir d'une séquence lorsque l'ordre prime, ou d'une correspondance lorsque les étiquettes priment :
left = pd.Series({"a": 10, "b": 20})
right = pd.Series({"b": 1, "c": 2})
left + right
# a -> manquant, b -> 21, c -> manquant
left.add(right, fill_value=0)
# a -> 10, b -> 21, c -> 2
L'arithmétique aligne les étiquettes, pas les positions physiques. Ce mécanisme puissant peut introduire discrètement des valeurs manquantes lorsque les index diffèrent. Comparez les index ou alignez-les explicitement lorsque leur relation est importante.
Valeurs manquantes
Utilisez isna() et notna() plutôt que des comparaisons d'égalité. Selon le type,
l'absence peut être représentée par pd.NA, NaN ou NaT ; le code doit généralement
s'appuyer sur l'API commune plutôt que sur une sentinelle scalaire.
Limite d'emploi
Utilisez un tableau NumPy pour un calcul homogène entièrement positionnel. Utilisez une Series
lorsque les étiquettes, types nullables, alignements ou opérations tabulaires pandas ont un sens.